package com.aqie.easy.math;

/**
 * 171. Excel表列序号
 */
public class TitleToNumber {
    public static int titleToNumber(String s) {
        // 十进制转26进制
        // 26 进制转十进制
        int ans = 0;
        for (int i = 0; i < s.length(); i++){
            int num = s.charAt(i) - 'A' + 1;
            ans = ans * 26 + num;
        }
        return ans;
    }

    /**
     * 十进制转N进制  除N取余数 最后把余数倒过来
     *
     * N进制转十进制
     * @param args
     */
    public static void main(String[] args) {
        // 十进制转二进制 19

        // 十进制转八进制

        // 十进制转十六进制

        int num = 19;
        int n = 8;
        StringBuilder res = new StringBuilder();
        while(num > 0){
            int i = num % n;
            num /= n;
            res.append(i);
        }
        System.out.println(res.reverse());
        System.out.println('G' - 'A' + 1);
        System.out.println(titleToNumber("AB")); // 28


    }
}
